package cn.iocoder.yudao.module.trade.service.price.bo;

import cn.iocoder.yudao.module.member.api.config.dto.MemberConfMaterialDTO;
import cn.iocoder.yudao.module.trade.enums.delivery.DeliveryTypeEnum;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 价格计算 Request BO
 *
 * @author yudao源码
 */
@Data
public class TradePriceCalculateReqBO {

    /**
     * 用户编号
     *
     * 对应 MemberUserDO 的 id 编号
     */
    private Long userId;

    /**
     * 配送方式
     *
     * 枚举 {@link DeliveryTypeEnum}
     */
    private Integer deliveryType;
    /**
     * 收货地址编号
     *
     * 对应 MemberAddressDO 的 id 编号
     */
    private Long addressId;
    /**
     * 自提门店编号
     *
     * 对应 PickUpStoreDO 的 id 编号
     */
    private Long pickUpStoreId;

    /**
     * 克重
     */
    private BigDecimal weight;
    private BigDecimal exchangeWeight;

    private BigDecimal livePrice;

    // ========== 交易配置相关字段 ==========

    /**
     * 金属类型
     */
    private Integer metalType;
    private Integer orderType;


    private MemberConfMaterialDTO metalConf;

}
